﻿//小红拿到了一个数组。她想取一些不相邻的数，使得取出来的数之和尽可能大。你能帮帮她吗？
//输入描述：
//第一行输入一个正整数n,代表数组长度
//第二行输入n 个正整数ai，代表整个数组。1≤n≤2∗10^5,1≤ai≤5∗10^3
//
//输出描述：
//不相邻的数的最大和。
//
//输入：
//4
//2 6 4 1
//输出：
//7
//说明：
//取 6 和 1 即可

#include <iostream>
using namespace std;
const int N = 2e5 + 10;
int n;
int arr[N];
int f[N], g[N];
int main() {
    cin >> n;
    for (int i = 1; i <= n; i++) cin >> arr[i];
    for (int i = 1; i <= n; i++) {
        f[i] = g[i - 1] + arr[i];
        g[i] = max(f[i - 1], g[i - 1]);
    }
    cout << max(f[n], g[n]) << endl;
    return 0;
}